package com.mysteel.cart.service;

import com.mysteel.cart.vo.Cart;
import com.mysteel.cart.vo.CartItem;

import java.util.List;

/**
 * ProjectName: mail
 * ClassName: CartService
 * Description:
 * date: 2021/03/15/015 16:40
 *
 * @author xiaochao
 */
public interface CartService {
    /**
     * 将商品添加到购物车
     * @param skuId
     * @param num
     * @return
     */
    CartItem addToCart(Long skuId, Integer num);

    /**
     * 获取购物车中的某个购物项
     * @param skuId
     * @return
     */
    CartItem getCartItemBySkuId(Long skuId);

    /**
     * 获取用户购物车
     * @return
     */
    Cart getUserCart();

    void clearCartByKey(String key);

    /**
     * 勾选购物项
     * @param skuIds
     * @param check
     */
    void checkItem(String skuIds, Integer check);

    /**
     * 改变购物车sku的数量
     * @param skuId
     * @param count
     */
    void changeItemCount(Long skuId, Integer count);

    /**
     * 删除指定的购物项
     * @param skuId
     */
    void deleteItemBySkuId(Long skuId);

    List<CartItem> getCurrentUserCartItems();
}
